﻿public static class GlobalMembersLCUI_Thread
{
}
	/*#if LCUI_Mutex_AlternateDefinition1
//C++ TO C# CONVERTER TODO TASK: The implementation of the following method could not be found:
	//LCUI_BEGIN_HEADER public int LCUIMutex_Init(ref pthread_mutex_t mutex);
	#elif LCUI_Mutex_AlternateDefinition2
//C++ TO C# CONVERTER TODO TASK: The implementation of the following method could not be found:
	//LCUI_BEGIN_HEADER public int LCUIMutex_Init(ref IntPtr mutex);
	//#endif

	// Free the mutex 
	#if LCUI_Mutex_AlternateDefinition1
//C++ TO C# CONVERTER TODO TASK: The implementation of the following method could not be found:
	//public void LCUIMutex_Destroy(ref pthread_mutex_t mutex);
	#elif LCUI_Mutex_AlternateDefinition2
//C++ TO C# CONVERTER TODO TASK: The implementation of the following method could not be found:
	//public void LCUIMutex_Destroy(ref IntPtr mutex);
	//#endif

	// Try lock the mutex 
	#if LCUI_Mutex_AlternateDefinition1
//C++ TO C# CONVERTER TODO TASK: The implementation of the following method could not be found:
	//public int LCUIMutex_TryLock(ref pthread_mutex_t mutex);
	#elif LCUI_Mutex_AlternateDefinition2
//C++ TO C# CONVERTER TODO TASK: The implementation of the following method could not be found:
	//public int LCUIMutex_TryLock(ref IntPtr mutex);
	//#endif

	// Lock the mutex 
	#if LCUI_Mutex_AlternateDefinition1
//C++ TO C# CONVERTER TODO TASK: The implementation of the following method could not be found:
	//public int LCUIMutex_Lock(ref pthread_mutex_t mutex);
	#elif LCUI_Mutex_AlternateDefinition2
//C++ TO C# CONVERTER TODO TASK: The implementation of the following method could not be found:
	//public int LCUIMutex_Lock(ref IntPtr mutex);
	//#endif

	// Unlock the mutex 
	#if LCUI_Mutex_AlternateDefinition1
//C++ TO C# CONVERTER TODO TASK: The implementation of the following method could not be found:
	//public int LCUIMutex_Unlock(ref pthread_mutex_t mutex);
	#elif LCUI_Mutex_AlternateDefinition2
//C++ TO C# CONVERTER TODO TASK: The implementation of the following method could not be found:
	//public int LCUIMutex_Unlock(ref IntPtr mutex);
	//#endif
//private delegate void funcDelegate(IntPtr NamelessParameter);


	#if LCUI_Thread_AlternateDefinition1
//C++ TO C# CONVERTER TODO TASK: The implementation of the following method could not be found:
	//public int _LCUIThread_Create(ref pthread_t thread, funcDelegate func, IntPtr arg);
private delegate void funcDelegate(IntPtr NamelessParameter);
	#elif LCUI_Thread_AlternateDefinition2
//C++ TO C# CONVERTER TODO TASK: The implementation of the following method could not be found:
	//public int _LCUIThread_Create(ref uint thread, funcDelegate func, IntPtr arg);
	//#endif

	#if LCUI_Thread_AlternateDefinition1
//C++ TO C# CONVERTER TODO TASK: The implementation of the following method could not be found:
	//public pthread_t LCUIThread_SelfID();
	#elif LCUI_Thread_AlternateDefinition2
//C++ TO C# CONVERTER TODO TASK: The implementation of the following method could not be found:
	//public uint LCUIThread_SelfID();
	//#endif

//C++ TO C# CONVERTER TODO TASK: The implementation of the following method could not be found:
	//public void _LCUIThread_Exit(IntPtr retval);

	#if LCUI_Thread_AlternateDefinition1
//C++ TO C# CONVERTER TODO TASK: The implementation of the following method could not be found:
	//public void _LCUIThread_Cancel(pthread_t thread);
	#elif LCUI_Thread_AlternateDefinition2
//C++ TO C# CONVERTER TODO TASK: The implementation of the following method could not be found:
	//public void _LCUIThread_Cancel(uint thread);
	//#endif

	#if LCUI_Thread_AlternateDefinition1
//C++ TO C# CONVERTER TODO TASK: The implementation of the following method could not be found:
	//public int _LCUIThread_Join(pthread_t thread, ref IntPtr retval);
	#elif LCUI_Thread_AlternateDefinition2
//C++ TO C# CONVERTER TODO TASK: The implementation of the following method could not be found:
	//public int _LCUIThread_Join(uint thread, ref IntPtr retval);
	//#endif


	// 获取指定线程的根线程ID 
	#if LCUI_Thread_AlternateDefinition1
	#if LCUI_Thread_AlternateDefinition1
//C++ TO C# CONVERTER TODO TASK: The implementation of the following method could not be found:
	//public pthread_t LCUIThread_GetRootThreadID(pthread_t tid);
	#elif LCUI_Thread_AlternateDefinition2
//C++ TO C# CONVERTER TODO TASK: The implementation of the following method could not be found:
	//public pthread_t LCUIThread_GetRootThreadID(uint tid);
	//#endif
	#elif LCUI_Thread_AlternateDefinition2
	#if LCUI_Thread_AlternateDefinition1
//C++ TO C# CONVERTER TODO TASK: The implementation of the following method could not be found:
	//public uint LCUIThread_GetRootThreadID(pthread_t tid);
	#elif LCUI_Thread_AlternateDefinition2
//C++ TO C# CONVERTER TODO TASK: The implementation of the following method could not be found:
	//public uint LCUIThread_GetRootThreadID(uint tid);
	//#endif
	//#endif

	// 打印各个线程的信息 
//C++ TO C# CONVERTER TODO TASK: The implementation of the following method could not be found:
	//public void LCUIThread_PrintInfo();
//private delegate void start_rtnDelegate(IntPtr NamelessParameter);

	// 创建并运行一个线程 
	#if LCUI_Thread_AlternateDefinition1
//C++ TO C# CONVERTER TODO TASK: The implementation of the following method could not be found:
	//public int LCUIThread_Create(ref pthread_t tidp, start_rtnDelegate start_rtn, IntPtr  arg);
private delegate void start_rtnDelegate(IntPtr NamelessParameter);
	#elif LCUI_Thread_AlternateDefinition2
//C++ TO C# CONVERTER TODO TASK: The implementation of the following method could not be found:
	//public int LCUIThread_Create(ref uint tidp, start_rtnDelegate start_rtn, IntPtr  arg);
	//#endif

	// 等待一个线程的结束，并释放该线程的资源 
	#if LCUI_Thread_AlternateDefinition1
//C++ TO C# CONVERTER TODO TASK: The implementation of the following method could not be found:
	//public int LCUIThread_Join(pthread_t thread, ref IntPtr retval);
	#elif LCUI_Thread_AlternateDefinition2
//C++ TO C# CONVERTER TODO TASK: The implementation of the following method could not be found:
	//public int LCUIThread_Join(uint thread, ref IntPtr retval);
	//#endif

	// 撤销一个线程 
	#if LCUI_Thread_AlternateDefinition1
//C++ TO C# CONVERTER TODO TASK: The implementation of the following method could not be found:
	//public void LCUIThread_Cancel(pthread_t thread);
	#elif LCUI_Thread_AlternateDefinition2
//C++ TO C# CONVERTER TODO TASK: The implementation of the following method could not be found:
	//public void LCUIThread_Cancel(uint thread);
	//#endif

	// 记录指针作为返回值，并退出线程 
//C++ TO C# CONVERTER TODO TASK: The implementation of the following method could not be found:
	//public void LCUIThread_Exit(IntPtr retval);

	// 撤销指定ID的程序的全部子线程 
//C++ TO C# CONVERTER TODO TASK: The implementation of the following method could not be found:
	//public int LCUIApp_CancelAllThreads(uint app_id);

	// 注册程序主线程 
//C++ TO C# CONVERTER TODO TASK: The implementation of the following method could not be found:
	//public void LCUIApp_RegisterMainThread(uint app_id);

	// 初始化线程模块 
//C++ TO C# CONVERTER TODO TASK: The implementation of the following method could not be found:
	//public void LCUIModule_Thread_Init();

	// 停用线程模块 
//C++ TO C# CONVERTER TODO TASK: The implementation of the following method could not be found:
	//public void LCUIModule_Thread_End();

//C++ TO C# CONVERTER TODO TASK: The following statement was not recognized, possibly due to an unrecognized macro:
	//LCUI_END_HEADER

	////#endif
}
// ***************************************************************************
// * LCUI_Thread.h -- basic thread management
// * 
// * Copyright (C) 2012-2013 by
// * Liu Chao
// * 
// * This file is part of the LCUI project, and may only be used, modified, and
// * distributed under the terms of the GPLv2.
// * 
// * (GPLv2 is abbreviation of GNU General Public License Version 2)
// * 
// * By continuing to use, modify, or distribute this file you indicate that you
// * have read the license and understand and accept it fully.
// *  
// * The LCUI project is distributed in the hope that it will be useful, but 
// * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 
// * or FITNESS FOR A PARTICULAR PURPOSE. See the GPL v2 for more details.
// * 
// * You should have received a copy of the GPLv2 along with this file. It is 
// * usually in the LICENSE.TXT file, If not, see <http://www.gnu.org/licenses/>.
// * ***************************************************************************

// ****************************************************************************
// * LCUI_Thread.h -- 基本的线程管理
// *
// * 版权所有 (C) 2012-2013 归属于
// * 刘超
// * 
// * 这个文件是LCUI项目的一部分，并且只可以根据GPLv2许可协议来使用、更改和发布。
// *
// * (GPLv2 是 GNU通用公共许可证第二版 的英文缩写)
// * 
// * 继续使用、修改或发布本文件，表明您已经阅读并完全理解和接受这个许可协议。
// * 
// * LCUI 项目是基于使用目的而加以散布的，但不负任何担保责任，甚至没有适销性或特
// * 定用途的隐含担保，详情请参照GPLv2许可协议。
// *
// * 您应已收到附随于本文件的GPLv2许可协议的副本，它通常在LICENSE.TXT文件中，如果
// * 没有，请查看：<http://www.gnu.org/licenses/>. 
// * ***************************************************************************

//#if ! __LCUI_THREAD_H__
//#define __LCUI_THREAD_H__

//#if LCUI_THREAD_PTHREAD
////C++ TO C# CONVERTER WARNING: The following #include directive was ignored:
////#include <pthread.h>
//#define LCUI_Thread_AlternateDefinition1
//#define LCUI_Mutex_AlternateDefinition1
//#else
//#if LCUI_THREAD_WIN32
//#define LCUI_Mutex_AlternateDefinition2
//#define LCUI_Thread_AlternateDefinition2
//#else
//#error 'Need thread implementation for this platform'
////#endif
////#endif*/